home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 July & August / PCWorld_2007-07-08_cd.bin / komunikace / maxthon / mcombo.exe / Plugin / Del.icio.us Sidebar / scripts / MaxthonLibrary.js < prev    next >
Text File  |  2006-09-02  |  3KB  |  116 lines

  1. /**************************
  2.     Del.icio.us Sidebar
  3.     By Neo101
  4.     Version 1.1.0
  5. **************************/
  6.  
  7. var SECURITY_ID    = max_security_id
  8. var PLUGIN_NAME = "Del.icio.us Sidebar"
  9.  
  10. var alreadyShowingError    = false
  11. window.onerror    = showErrorMessage
  12.  
  13. var SETTINGS_FILE = 'Settings.ini'
  14. var DEFAULT_SETTINGS_FILE = 'DefaultSettings.ini'
  15.  
  16. var timer
  17.  
  18. var defaultCheck = 'userName'
  19.  
  20.  
  21. function showErrorMessage(message, url, line){
  22.     var d         = new Date()
  23.     var date    = d.getHours()+':'+d.getMinutes()+':'+d.getSeconds()
  24.     if(!alreadyShowingError)
  25.         external.get_tab(SECURITY_ID, external.cur_sel).window.status 
  26.                 = 'Message: '+message+' Line: '+line+' URL: '+url+' Date: '+date
  27.     alreadyShowingError    = true
  28. }
  29.  
  30.  
  31. function readFile(filename) {
  32.     return external.readFile(SECURITY_ID,PLUGIN_NAME,filename)
  33. }
  34.  
  35.  
  36. function writeFile(filename,data) {
  37.     external.writeFile(SECURITY_ID,PLUGIN_NAME,filename,data)
  38. }
  39.  
  40.  
  41. function readSetting(Key, errorResponse) {
  42.     if(errorResponse == null) 
  43.         errorResponse = ''
  44.     var returnValue = readIni(SETTINGS_FILE,"Settings", Key, 'error')
  45.     if(returnValue == 'error') {
  46.         var defaultFileValue = readIni(DEFAULT_SETTINGS_FILE,"Settings", Key, 'error')
  47.         if(defaultFileValue == 'error')
  48.             return errorResponse
  49.         else {
  50.             writeSetting(Key, defaultFileValue)
  51.             returnValue = defaultFileValue
  52.         }
  53.     }
  54.     return returnValue
  55. }
  56.  
  57.  
  58. function checkSettingsFile(){
  59.     if(readIni("settings.ini","Settings", defaultCheck, 'error') != 'error') return false
  60.     var defaultSettingsFile = readFile('DefaultSettings.ini')
  61.     if(defaultSettingsFile && defaultSettingsFile != '') 
  62.         writeFile('Settings.ini', defaultSettingsFile)
  63.     return true
  64. }
  65.  
  66.  
  67. function readIni(file, section, key, errorResponse){
  68.     if(errorResponse == null) 
  69.         errorResponse = ''
  70.     return external.m2_readIni(SECURITY_ID, PLUGIN_NAME, file, section, key, errorResponse)
  71. }
  72.  
  73.  
  74. function writeIni(file, section, key, data) {
  75.     external.m2_writeIni(SECURITY_ID, PLUGIN_NAME, file, section, key, data+'')
  76. }
  77.  
  78.  
  79. function writeSetting(key, data) {
  80.     writeIni(SETTINGS_FILE,"Settings", key, data+'')
  81. }
  82.  
  83.  
  84. function showError(message){
  85.     if(document.getElementById('message')){
  86.         if(timer) clearTimeout(timer)
  87.         document.getElementById('message').innerHTML = message
  88.         document.getElementById('message').style.display = ''
  89.         timer = window.setTimeout("document.getElementById('message').style.display = 'none'", 10000)
  90.     }
  91.     else{
  92.         alert(message)
  93.     }
  94. }
  95.  
  96. //Thanks to http://scriptasylum.com for the encoder/decoder!
  97.  
  98. var encN=1;
  99.  
  100. function encodeTxt(s){
  101.     s=escape(s);
  102.     var ta=new Array();
  103.     for(var i=0; i<s.length; i++){
  104.         ta[i]=s.charCodeAt(i)+encN;
  105.     }
  106.     return ""+escape(eval("String.fromCharCode("+ta+")"))+encN;
  107. }
  108.  
  109. function decodeTxt(s){
  110.     var s1=unescape(s.substr(0,s.length-1));
  111.     var t='';
  112.     for(var i=0; i<s1.length; i++){
  113.         t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));
  114.     }
  115.     return unescape(t);
  116. }